// 用户相关的接口
import request, { get, post } from '@/utils/request'

/**
 * 用户账号密码登录
 * @param account 账号
 * @param password 密码
 * @returns {*|AxiosPromise}
 */
export const userAccountLogin = ({
  account,
  password
}) => {
  return post('/login', {
    account,
    password
  })
}

/**
 * 获取手机号的短信验证码
 * @param mobile 手机号
 * @returns {*|AxiosPromise}
 */
export const userMobileLoginMsg = (mobile) => {
  return get('/login/code', { mobile: mobile })
}

/**
 * 使用手机和验证码登录
 * @param mobile 手机号
 * @param code 短信验证吗 默认是123456
 * @returns {*|AxiosPromise}
 */
export const userMobileLogin = ({
  mobile,
  code
}) => {
  return post('/login/code', {
    mobile,
    code
  })
}

/**
 *  QQ登录请求
 * @param unionId 三方标识 openId
 * @param source 注册来源 注册来源，1为pc，2为webapp，3为微信小程序，4为Android，5为ios,6为qq,7为微信
 * @returns {*|AxiosPromise}
 */
export const userQQLogin = ({
  unionId,
  source = 1
}) => {
  return post('/login/social', {
    unionId,
    source
  })
}

/**
 * QQ登录绑定手机号发送验证码
 * @param mobile 手机号
 * @returns {Promise<AxiosResponse<any>>}
 */
export const userQQBindCode = (mobile) => {
  return get('/login/social/code', { mobile: mobile })
}

/**
 * QQ账号绑定
 * @param unionId 唯一标识
 * @param mobile 手机
 * @param code 验证码
 * @returns {Promise<AxiosResponse<any>>}
 */
export const userQQBindLogin = ({
  unionId,
  mobile,
  code
}) => {
  return post('/login/social', {
    unionId,
    mobile,
    code
  })
}

/**
 * 校验用户名是否唯一
 * @param account
 * @returns {*|AxiosPromise|undefined}
 */
export const userAccountCheck = (account) => {
  return request('/register/check', 'GET', {
    account
  })
}

/**
 * QQ登录完善信息手机号发送验证码
 * @param mobile 手机号
 * @returns {Promise<AxiosResponse<any>>}
 */
export const userQQPatchCode = (mobile) => {
  return get('/register/code', { mobile: mobile })
}

/**
 * QQ完善信息后登录
 * @param unionId
 * @param account
 * @param mobile
 * @param code
 * @param password
 * @returns {Promise<AxiosResponse<any>>}
 */
export const userQQPatchLogin = ({
  unionId,
  account,
  mobile,
  code,
  password
}) => {
  return post(`/login/social/${unionId}/complement`, {
    account,
    mobile,
    code,
    password
  })
}
